home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Languguage OS 2
/
Languguage OS II Version 10-94 (Knowledge Media)(1994).ISO
/
a_utils
/
lgrammar
/
lgrammar.d
< prev
next >
Wrap
Text File
|
1994-06-14
|
4KB
|
135 lines
Hilfeanleitung fuer lgrammar
-----------------------------------------------------------------
2D-Turtle-Symbole:
F Turtle bewegt sich in Richtung des Orientierungsvektors (head)
um eine Laenge nach vorn und zeichnet dabei eine Linie
f Turtle bewegt sich in Richtung des Orientierungsvektors (head)
um eine Laenge nach vorn, zeichnet aber keine Linie (vgl. 'F')
+ Turtle dreht sich um 'Angle' nach links
- Turtle dreht sich um 'Angle' nach rechts
[ Eine Verzweigung faengt an
] Eine Verzweigung wird beendet
| Turtle dreht sich um die eigene Achse (d.h. um 180 Grad)
' Farbwert wird incrementiert
` Farbwert wird decrementiert
-----------------------------------------------------------------
3D-Turtle-Symbole:
F Turtle bewegt sich in Richtung des Orientierungsvektors (head)
um eine Laenge nach vorn und zeichnet dabei eine Linie.
Innerhalb von '{ }' (siehe dort) keine Wirkung
f Turtle bewegt sich in Richtung des Orientierungsvektors (head)
um eine Laenge nach vorn, zeichnet aber keine Linie (vgl.'F').
Innerhalb von '{ }' (siehe dort) wird ein Eckpunkt registriert
+ Turtle dreht sich um aktuelle Achse 'up' mit Winkel 'Angle'
- Turtle dreht sich um aktuelle Achse 'up' mit Winkel -'Angle'
& Turtle dreht sich um aktuelle Achse 'left' mit Winkel 'Angle'
^ Turtle dreht sich um aktuelle Achse 'left' mit Winkel -'Angle'
\ Turtle dreht sich um aktuelle Achse 'head' mit Winkel 'Angle'
/ Turtle dreht sich um aktuelle Achse 'head' mit Winkel -'Angle'
| entspricht + oder - mit Winkel 180
[ Eine Verzweigung faengt an
] Eine Verzweigung wird beendet
{ Beginn eines gefuellten Polygons (z.B. ein Blatt)
} Ende eines gefuellten Polygons (z.B. ein Blatt)
. Innerhalb von '{ }' wird ein Polygoneckpunkt wird registriert
G entspricht F, aber innerhalb von '{ }'
' Farbwert wird incrementiert
` Farbwert wird decrementiert
-----------------------------------------------------------------
Grammatikeingabe:
1.Zeile: Eingabe des Axioms, d.h. Folge von Turtle-Symbolen.
Abschluss mit <Return>
weitere Zeilen:
Eingabe der Produktionen. Produktionen haben die folgende Form:
<linke Seite>=<rechte Seite>
mit
<linke Seite> .. 1 Turtle-Symbol
<rechte Seite> .. mehrere Turtle-Symbole
Grammatik wird mit Druecken des O.K.-Buttons uebernommen.
Druecken auf den NEXT-Button erzeugt die jeweils naechste Ableitung
der Grammatik.
Als Grammatikzeichen koennen beliebige Buchstaben verwendet werden.
Alle Zeichen OHNE eine festgelegte Grafikbedeutung (z.B. "F" hat eine,
"E" hat keine) werden wie alle anderen in der Ableitung vewendet,
jedoch erzeugen diese direkt keine Grafikausgabe.
Die globalen Werte fuer LENGTH und ANGLE werden auf alle "F", "+", "-",
usw. einer Grammatik angewendet. Um innerhalb einer Grammatik verschiedene
Werte angeben zu koennen, duerfen diese einem Symbol in spitzen Klammern
folgen, z.B.
+<45> bezeichnet eine Drehung nach links um 45 Grad, unabhaengig vom
globalen Wert fuer ANGLE
F[500] bezeichnet eine Linie der Laenge 500, unabhaengig vom globalen
Wert fuer LENGTH
-----------------------------------------------------------------
Stochastische Grammatiken
Bei der Verwendung von Wahrscheinlichkeitswerten beim Gleichheitssymbol
einer Zuweisung entstehen stochastische Grammatiken. Hier sind mehrere
Regeln fuer das gleiche Symbol erlaubt, jedoch muss die Summe der
Wahrscheinlichkeiten fuer dieses Symbol 1 ergeben. Beispiel:
F=<0.3> F+F
F=<0.7> F-F
-----------------------------------------------------------------
Literatur
P. Prusinkiewicz, A. Lindenmayer:
The SAlgorithmic Beauty of Plants
Springer-Verlag, New York, 1990
Chr. Drabek
Implementierung von L-Grammatiken zur Erzeugung von Graftalen
Diplomarbeit Nr. 986, Univ. Stuttgart, Fakultaet Informatik, 1993
-----------------------------------------------------------------
Contact
Christine Drabek
Thomas Braunl
Univ. Stuttgart IPVR
Breitwiesenstr. 20-22, D-70565 Stuttgart, Germany
e-mail: braunl@informatik.uni-stuttgart.de